.. _cmmGnBitShift: cmmGnBitShift ================== ------------------ SYNOPSYS ````````` .. code-block:: none VT_I4 cmmGnBitShift ( [in] VT_I4 Value, [in] VT_I4 ShiftOption, [out] VT_PI4 Result ) DESCRIPTION ````````````` - 32 비트 값에 대해 오른쪽 또는 왼쪽 비트쉬프트(Bit Shift)를 수행합니다. PARAMETER ``````````` - Value : 비트쉬프트를 수행할 대상 32 비트값 - ShiftOption : 몇 비트를 쉬프트할 것인지를 결정합니다. 이 값이 양수이면 왼쪽 쉬프트를 수행하고 음수이면 오른쪽쉬프트를 수행합니다. - Result : 비트쉬프트 결과값. RETURN VALUE ````````````` +--------------+----------------+ | Value | Meaning | +==============+================+ | 음수 | 수행 실패 | +--------------+----------------+ | cmERR_NONE | 수행 성공 | +--------------+----------------+ EXAMPLE ````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ long Value = 0xf; long nResult = 0; // 4 비트 왼쪽쉬프트 => 결과값은 0xf0 가 된다 // Value = cmmGnBitShift(Value, 4, &nResult); // 4 비트 오른쪽쉬프트 => 결과값은 다시 0xf 가 된다 // Value = cmmGnBitShift(Value, -4, &nResult); ------------------------------------------------------------------------------------- Visual Basic Dim Value As Long Dim nResult As Long Value = &HF ‘ 4 비트 왼쪽쉬프트 => 결과값은 0xf0 가 된다 Value = cmmGnBitShift(Value, 4, nResult); ‘ 4 비트 오른쪽쉬프트 => 결과값은 다시 0xf 가 된다 Value = cmmGnBitShift(Value, -4, nResult); ------------------------------------------------------------------------------------- Delphi Value : LongInt; nResult : LongInt; Value := $f; // 4 비트 왼쪽쉬프트 => 결과값은 0xf0 가 된다 // Value := cmmGnBitShift(Value, 4 , @nResult); // 4 비트 오른쪽쉬프트 => 결과값은 다시 0xf 가 된다 // Value := cmmGnBitShift(Value, -4, @nResult);